// Learn TypeScript:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/typescript.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/typescript.html
// Learn Attribute:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html

const {ccclass, property, menu} = cc._decorator;

@ccclass
@menu("自定义/EventEmitter")
export default class EventEmitter extends cc.Component {

    static type = "player-input";

    private emitEvent(data){
        this.node.emit(EventEmitter.type, data);
    }

    /** button clickEvent */
    clickEventToBoolean(event, data){
        this.emitEvent(data == "true");
    }

    clickEventToInt(event, data){
        this.emitEvent(parseInt(data));
    }

    clickEvent(event, data){
        this.emitEvent(data);
    }

    /** toggle checkEvent */
    checkEvent(event, data){
        this.emitEvent(event.isChecked);
    }
}
